package com.ws.genercity.demo02;

public class MainClass {
    public static void main(String[] args) {
        //泛型类在创建对象的时候，来制定具体的数据类型
        Generic<String> generic = new Generic<>("ws");
        System.out.println(generic);
        Generic<Integer> generic1 = new Generic<>(123);
        //自动拆箱，防止装箱和拆箱，影响性能
        int key = generic1.getKey();
        System.out.println(key);

        //1.泛型类在创建对象的时候，没有指定类型，将按照Object类型操作
        Generic generic2 = new Generic("我是key3");
        Object key1 = generic2.getKey();
        System.out.println(key1);
        //2.泛型类不支持基本数据类型
        //Generic<int> generic3 = new Generic<int>(33);
        //字符串
        System.out.println(generic.getClass());
        //int类型
        System.out.println(generic1.getClass());
        //true  3.同一泛型类，根据不同的数据类型创建的对象，本质上是同一类型，类类型
        System.out.println(generic.getClass() == generic1.getClass());
    }
}
